home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl -w
- # This file was preprocessed, do not edit!
-
-
- use strict;
- use Debconf::Db;
- use Debconf::Template;
- use Debconf::AutoSelect qw(:all);
- use Debconf::Log qw(:all);
-
- Debconf::Db->load;
-
- debug developer => "frontend started";
-
- my $frontend=make_frontend();
-
- shift @ARGV if $ARGV[0] eq '--';
-
- my $package;
- if ($ENV{DEBCONF_PACKAGE}) {
- $package=$ENV{DEBCONF_PACKAGE};
- }
- elsif ($ARGV[0]=~m!^.*/(.*?)\.(?:postinst|postrm|prerm)$!) {
- $package=$1;
- }
- elsif (-e "/var/lib/dpkg/tmp.ci/control") {
- open (CONTROL, "< /var/lib/dpkg/tmp.ci/control")
- || die "Debconf: unable to open control file: $!";
- while (<CONTROL>) {
- if (/^Package: (.*)/) {
- $package=$1;
- last;
- }
- }
- close CONTROL;
- if (! exists $ENV{PERL_DL_NONLAZY} || ! $ENV{PERL_DL_NONLAZY}) {
- warn "PERL_DL_NONLAZY is not set, if debconf is running from a preinst script, this is not safe";
- }
- }
- else {
- $package='';
-
- debug developer => 'Trying to find a templates file..';
- sub trytemplate {
- my $fn=shift;
- debug developer => "Trying $fn";
- if (-e $fn) {
- debug developer => "I guess it is $fn";
- Debconf::Template->load($fn, $package);
- return 1;
- }
- else {
- return;
- }
- }
-
- unless (trytemplate("$ARGV[0].templates")) {
- unless ($ARGV[0]=~m/(.*)config$/ && trytemplate("${1}templates")) {
- unless ($ARGV[0]=~m!^(?:.*/)?(.*)! && trytemplate("/usr/share/debconf/templates/${1}.templates")) {
- debug developer => "Couldn't find a templates file."
- }
- }
- }
- }
- debug developer => "frontend running, package name is $package";
- $frontend->default_title($package) if length $package;
- $frontend->info(undef);
-
- if ($ARGV[0] =~/^(.*[.\/])(?:postinst|preinst)$/) {
- my $base=$1;
-
- my $templates=$base."templates";
- Debconf::Template->load($templates, $package)
- if -e $templates;
-
- my $config=$base."config";
- if (-e $config) {
- my $version=$ARGV[2];
- if (! defined($version)) {
- $version='';
- }
- my $confmodule=make_confmodule($config,
- "configure", $version);
-
- $confmodule->owner($package);
-
- 1 while ($confmodule->communicate);
-
- exit $confmodule->exitcode if $confmodule->exitcode > 0;
- }
- }
-
- my $confmodule=make_confmodule(@ARGV);
-
- $confmodule->owner($package);
-
- 1 while ($confmodule->communicate);
-
- $frontend->shutdown;
-
- Debconf::Db->save;
-
- exit $confmodule->exitcode;
-
-